import {QueryPage} from "@/api/common/type.ts";

export interface ElectricalControlClassification {
    id: number | undefined,
    parentId: number | undefined, // 父分类ID
    name: string | undefined,  // 分类名称
    remark: string | undefined  // 备注
}

export interface ElectricalControlMaterial {
    id: number | undefined,
    code: string | undefined, // 物料编码
    classificationId: number | undefined, // 分类ID
    name: string | undefined,  // 材料名称
    specification: string | undefined, // 型号规格
    price: number | undefined, // 单价
    brand: string | undefined, // 品牌
    remark: string | undefined, // 备注说明
    priceTwo: number | undefined, // 单价2
    premium: number | undefined, // 溢价
    premiumTwo: number | undefined, // 溢价2
    premiumThree: number | undefined, // 溢价3
    premiumFour: number | undefined // 溢价4
}

// 电气机械类型定义
export interface ElectricalMachinery {
    id?: number;
    name: string;
    specification: string;
    price: number;
    brand: string;
    remark?: string;
    model?: string; // 电机型号
    power?: string; // 电机功率
    pn?: number; // PN编号
    mn?: number; // MN编号
    nn?: number; // 最大托盘长度
    in380v?: number; // 380V输入
    createTime?: string;
    updateTime?: string;
    isDelete?: number;
}

// 电气机械查询参数
export interface ElectricalMachineryQuery extends QueryPage {
    name?: string;
    specification?: string;
    brand?: string;
    model?: string; // 电机型号
    power?: string; // 电机功率
    current?: number; // 当前页
    size?: number; // 页面大小
}

// 分页查询分类列表请求参数
export interface ElectricalControlClassificationListParam extends QueryPage {
    parentId: number | undefined,
    name: string | undefined
}

// 分页查询材料列表请求参数
export interface ElectricalControlMaterialListParam extends QueryPage {
    classificationId: number | undefined,
    name: string | undefined,
    specification: string | undefined,
    brand: string | undefined
}

// Excel导入导出相关类型定义
export interface ElectricalControlMaterialExcel {
    code?: string, // 物料编码
    classificationName?: string, // 分类名称
    name?: string,  // 材料名称
    specification?: string, // 型号规格
    price?: number, // 单价
    brand?: string, // 品牌
    remark?: string, // 备注说明
    priceTwo?: number, // 单价2
    premium?: number, // 溢价
    premiumTwo?: number, // 溢价2
    premiumThree?: number, // 溢价3
    premiumFour?: number // 溢价4
}

// 导入结果类型
export interface ElectricalControlMaterialImportResult {
    success: boolean,
    message: string,
    totalCount: number,
    successCount: number,
    failCount: number,
    insertCount: number,
    updateCount: number,
    errorDetails?: string[]
}
